package reflect;

import java.lang.reflect.Method;
import java.util.Scanner;

/**
 * 使用反射机制调用方法
 *
 */
public class ReflectDemo04 {
    public static void main(String[] args) throws Exception {
//        Person p = new Person();
//        p.eat();


        //实例化
//        Class cls = Class.forName("reflect.Person");
//        Object o = cls.newInstance();
//
//        //调用方法
//        Method method = cls.getMethod("eat");
//        method.invoke(o);


        //实例化
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入类名");
        String classname = scan.next();
        System.out.println("您所输入类名为" + classname);
        Class cls = Class.forName(classname);
        Object o = cls.newInstance();

        //调用方法
        System.out.println("请输入方法名");
        String methodName = scan.next();
        System.out.println("您所输入方法名为" + methodName);
        Method method = cls.getMethod(methodName);
        method.invoke(o);





    }
}
